package com.example.apprank.module;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.math.BigDecimal;

@TableName("app_android")
@Document(indexName = "app_android")
public class AppAndroid {
        @Id
        private String appId;
        private String os;
        @Field(type = FieldType.Text, analyzer = "ik_max_word", searchAnalyzer = "ik_smart")
        private String name;
        private String publisherId;
        @Field(type = FieldType.Text, analyzer = "ik_max_word", searchAnalyzer = "ik_smart")
        private String publisherName;
        private String category;
        private boolean inAppPurchases;
        private Long lastMonthDownloads;
        private String lastMonthDownloadsString;
        private String lastMonthRevenuePrefix;
        private BigDecimal lastMonthRevenue;
        private String lastMonthRevenueString;
        private String iconUrl;
        private Integer appRank;
        private Integer previousRank;
        private boolean showToBot;
        private String priceCurrency;
        private BigDecimal priceValue;
        private Double rating;
        private Long ratingCount;
        private String appOverviewUrl;
        private String googlePlayUrl;
        private String appStoreUrl;

        public String getAppId() {
                return appId;
        }

        public void setAppId(String appId) {
                this.appId = appId;
        }

        public String getOs() {
                return os;
        }

        public void setOs(String os) {
                this.os = os;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public String getPublisherId() {
                return publisherId;
        }

        public void setPublisherId(String publisherId) {
                this.publisherId = publisherId;
        }

        public String getPublisherName() {
                return publisherName;
        }

        public void setPublisherName(String publisherName) {
                this.publisherName = publisherName;
        }

        public String getCategory() {
                return category;
        }

        public void setCategory(String category) {
                this.category = category;
        }

        public boolean isInAppPurchases() {
                return inAppPurchases;
        }

        public void setInAppPurchases(boolean inAppPurchases) {
                this.inAppPurchases = inAppPurchases;
        }

        public Long getLastMonthDownloads() {
                return lastMonthDownloads;
        }

        public void setLastMonthDownloads(Long lastMonthDownloads) {
                this.lastMonthDownloads = lastMonthDownloads;
        }

        public String getLastMonthDownloadsString() {
                return lastMonthDownloadsString;
        }

        public void setLastMonthDownloadsString(String lastMonthDownloadsString) {
                this.lastMonthDownloadsString = lastMonthDownloadsString;
        }

        public String getLastMonthRevenuePrefix() {
                return lastMonthRevenuePrefix;
        }

        public void setLastMonthRevenuePrefix(String lastMonthRevenuePrefix) {
                this.lastMonthRevenuePrefix = lastMonthRevenuePrefix;
        }

        public BigDecimal getLastMonthRevenue() {
                return lastMonthRevenue;
        }

        public void setLastMonthRevenue(BigDecimal lastMonthRevenue) {
                this.lastMonthRevenue = lastMonthRevenue;
        }

        public String getLastMonthRevenueString() {
                return lastMonthRevenueString;
        }

        public void setLastMonthRevenueString(String lastMonthRevenueString) {
                this.lastMonthRevenueString = lastMonthRevenueString;
        }

        public String getIconUrl() {
                return iconUrl;
        }

        public void setIconUrl(String iconUrl) {
                this.iconUrl = iconUrl;
        }

        public Integer getAppRank() {
                return appRank;
        }

        public void setAppRank(Integer appRank) {
                this.appRank = appRank;
        }

        public Integer getPreviousRank() {
                return previousRank;
        }

        public void setPreviousRank(Integer previousRank) {
                this.previousRank = previousRank;
        }

        public boolean isShowToBot() {
                return showToBot;
        }

        public void setShowToBot(boolean showToBot) {
                this.showToBot = showToBot;
        }

        public String getPriceCurrency() {
                return priceCurrency;
        }

        public void setPriceCurrency(String priceCurrency) {
                this.priceCurrency = priceCurrency;
        }

        public BigDecimal getPriceValue() {
                return priceValue;
        }

        public void setPriceValue(BigDecimal priceValue) {
                this.priceValue = priceValue;
        }

        public Double getRating() {
                return rating;
        }

        public void setRating(Double rating) {
                this.rating = rating;
        }

        public Long getRatingCount() {
                return ratingCount;
        }

        public void setRatingCount(Long ratingCount) {
                this.ratingCount = ratingCount;
        }

        public String getAppOverviewUrl() {
                return appOverviewUrl;
        }

        public void setAppOverviewUrl(String appOverviewUrl) {
                this.appOverviewUrl = appOverviewUrl;
        }

        public String getGooglePlayUrl() {
                return googlePlayUrl;
        }

        public void setGooglePlayUrl(String googlePlayUrl) {
                this.googlePlayUrl = googlePlayUrl;
        }

        public String getAppStoreUrl() {
                return appStoreUrl;
        }

        public void setAppStoreUrl(String appStoreUrl) {
                this.appStoreUrl = appStoreUrl;
        }
}
